package com.ryujung.hash.leetCode_349;

import java.util.HashSet;
import java.util.Set;

class Solution {
    /**
     * 思路：
     * 遍历nums1然后将num1的值存入Set，
     * 遍历nums2，如果在set中存在，则加入结果集
     */
    public int[] intersection(int[] nums1, int[] nums2) {
        Set<Integer> res = new HashSet<>();
        Set<Integer> nums1Set = new HashSet<>();
        for (Integer num : nums1) {
            nums1Set.add(num);
        }
        for (Integer num : nums2) {
            if (nums1Set.contains(num)) {
                res.add(num);
            }
        }

        int[] arr = new int[res.size()];
        int i = 0;
        for (Integer j : res) {
            arr[i++] = j;
        }
        return arr;
    }
    // 时间复杂度：O(m+n)
    // 空间复杂度：O(m+n)
}